package com.brillilab.domain.po.lab;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 实验室申请表
 * </p>
 *
 * @author zlb
 * @since 2019-06-27
 */
@TableName("lab_apply")
public class LabApply extends Model<LabApply> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 是否为实验室管理员(0否,1是)
     */
    @TableField("is_owner")
    private Integer isOwner;
    /**
     * 密码
     */
    private String password;
    /**
     * 数据密码
     */
    @TableField("security_pwd")
    private String securityPwd;
    /**
     * 真实姓名
     */
    @TableField("real_name")
    private String realName;
    /**
     * 实验室名称
     */
    @TableField("lab_name")
    private String labName;
    /**
     * 机构ID
     */
    @TableField("org_id")
    private Long orgId;
    /**
     * 机构单位
     */
    @TableField("org_name")
    private String orgName;
    /**
     * 二级机构
     */
    @TableField("sec_org_name")
    private String secOrgName;
    /**
     * 实验室Logo
     */
    @TableField("lab_logo")
    private String labLogo;
    /**
     * 申请状态 (0待审核 1审核通过 2审核未通过，3待验证，4转为加入实验室)
     */
    private Integer state;
    /**
     * PI职务
     */
    private Integer duty;
    /**
     * PI职务年限
     */
    @TableField("duty_year")
    private Integer dutyYear;
    /**
     * PI入职时间
     */
    @TableField("entry_time")
    private Date entryTime;
    /**
     * PI姓名
     */
    @TableField("pi_real_name")
    private String piRealName;
    /**
     * PI手机号
     */
    @TableField("pi_mobile")
    private String piMobile;
    /**
     * PI邮箱
     */
    @TableField("pi_email")
    private String piEmail;
    /**
     * 机构邮箱
     */
    @TableField("org_email")
    private String orgEmail;
    /**
     * 证件照
     */
    @TableField("card_img")
    private String cardImg;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 证件号
     */
    @TableField("certificate_no")
    private String certificateNo;
    /**
     * 是否同意条款
     */
    @TableField("is_agree")
    private Integer isAgree;
    /**
     * 审核时间
     */
    @TableField("audit_time")
    private Date auditTime;
    /**
     * 审核信息
     */
    @TableField("audit_info")
    private String auditInfo;
    /**
     * 审核人
     */
    private Integer operator;
    /**
     * 实验室类型（1科研机构，2企业注册）
     */
    @TableField("lab_type")
    private Integer labType;
    /**
     * 身份证号
     */
    @TableField("real_id")
    private String realId;
    /**
     * 身份证正面
     */
    @TableField("card_front")
    private String cardFront;
    /**
     * 身份证反面
     */
    @TableField("card_reverse")
    private String cardReverse;
    /**
     * 申请公函
     */
    @TableField("official_letter")
    private String officialLetter;
    /**
     * 营业执照
     */
    @TableField("business_licence")
    private String businessLicence;
    /**
     * 统一社会信用代码
     */
    @TableField("credit_code")
    private String creditCode;

    /**
     * 企业名称
     */
    @TableField("company_name")
    private String companyName;

    /**
     * 申请时间
     */
    @TableField("apply_time")
    private Date applyTime;

    /**
     * 注册验证码
     */
    @TableField("verify_code")
    private String verifyCode;

    /**
     * 注册邀请码
     */
    @TableField("invite_code")
    private String inviteCode;

    /**
     * 邀请码类型
     */
    @TableField("invite_code_type")
    private String inviteCodeType;



    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Integer getIsOwner() {
        return isOwner;
    }

    public void setIsOwner(Integer isOwner) {
        this.isOwner = isOwner;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSecurityPwd() {
        return securityPwd;
    }

    public void setSecurityPwd(String securityPwd) {
        this.securityPwd = securityPwd;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getLabName() {
        return labName;
    }

    public void setLabName(String labName) {
        this.labName = labName;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public String getSecOrgName() {
        return secOrgName;
    }

    public void setSecOrgName(String secOrgName) {
        this.secOrgName = secOrgName;
    }

    public String getLabLogo() {
        return labLogo;
    }

    public void setLabLogo(String labLogo) {
        this.labLogo = labLogo;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getDuty() {
        return duty;
    }

    public void setDuty(Integer duty) {
        this.duty = duty;
    }

    public Integer getDutyYear() {
        return dutyYear;
    }

    public void setDutyYear(Integer dutyYear) {
        this.dutyYear = dutyYear;
    }

    public Date getEntryTime() {
        return entryTime;
    }

    public void setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
    }

    public String getPiRealName() {
        return piRealName;
    }

    public void setPiRealName(String piRealName) {
        this.piRealName = piRealName;
    }

    public String getPiMobile() {
        return piMobile;
    }

    public void setPiMobile(String piMobile) {
        this.piMobile = piMobile;
    }

    public String getOrgEmail() {
        return orgEmail;
    }

    public void setOrgEmail(String orgEmail) {
        this.orgEmail = orgEmail;
    }

    public String getCardImg() {
        return cardImg;
    }

    public void setCardImg(String cardImg) {
        this.cardImg = cardImg;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
    }

    public Integer getIsAgree() {
        return isAgree;
    }

    public void setIsAgree(Integer isAgree) {
        this.isAgree = isAgree;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public String getAuditInfo() {
        return auditInfo;
    }

    public void setAuditInfo(String auditInfo) {
        this.auditInfo = auditInfo;
    }

    public Integer getOperator() {
        return operator;
    }

    public void setOperator(Integer operator) {
        this.operator = operator;
    }

    public Integer getLabType() {
        return labType;
    }

    public void setLabType(Integer labType) {
        this.labType = labType;
    }

    public String getRealId() {
        return realId;
    }

    public void setRealId(String realId) {
        this.realId = realId;
    }

    public String getCardFront() {
        return cardFront;
    }

    public void setCardFront(String cardFront) {
        this.cardFront = cardFront;
    }

    public String getCardReverse() {
        return cardReverse;
    }

    public void setCardReverse(String cardReverse) {
        this.cardReverse = cardReverse;
    }

    public String getOfficialLetter() {
        return officialLetter;
    }

    public void setOfficialLetter(String officialLetter) {
        this.officialLetter = officialLetter;
    }

    public String getBusinessLicence() {
        return businessLicence;
    }

    public void setBusinessLicence(String businessLicence) {
        this.businessLicence = businessLicence;
    }

    public String getCreditCode() {
        return creditCode;
    }

    public void setCreditCode(String creditCode) {
        this.creditCode = creditCode;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getVerifyCode() {
        return verifyCode;
    }

    public void setVerifyCode(String verifyCode) {
        this.verifyCode = verifyCode;
    }

    public String getPiEmail() {
        return piEmail;
    }

    public void setPiEmail(String piEmail) {
        this.piEmail = piEmail;
    }

    public String getInviteCode() {
        return inviteCode;
    }

    public void setInviteCode(String inviteCode) {
        this.inviteCode = inviteCode;
    }

    public String getInviteCodeType() {
        return inviteCodeType;
    }

    public void setInviteCodeType(String inviteCodeType) {
        this.inviteCodeType = inviteCodeType;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "LabApply{" +
                "id=" + id +
                ", mobile='" + mobile + '\'' +
                ", isOwner=" + isOwner +
                ", password='" + password + '\'' +
                ", securityPwd='" + securityPwd + '\'' +
                ", realName='" + realName + '\'' +
                ", labName='" + labName + '\'' +
                ", orgId=" + orgId +
                ", orgName='" + orgName + '\'' +
                ", secOrgName='" + secOrgName + '\'' +
                ", labLogo='" + labLogo + '\'' +
                ", state=" + state +
                ", duty=" + duty +
                ", dutyYear=" + dutyYear +
                ", entryTime=" + entryTime +
                ", piRealName='" + piRealName + '\'' +
                ", piMobile='" + piMobile + '\'' +
                ", piEmail='" + piEmail + '\'' +
                ", orgEmail='" + orgEmail + '\'' +
                ", cardImg='" + cardImg + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", certificateNo='" + certificateNo + '\'' +
                ", isAgree=" + isAgree +
                ", auditTime=" + auditTime +
                ", auditInfo='" + auditInfo + '\'' +
                ", operator=" + operator +
                ", labType=" + labType +
                ", realId='" + realId + '\'' +
                ", cardFront='" + cardFront + '\'' +
                ", cardReverse='" + cardReverse + '\'' +
                ", officialLetter='" + officialLetter + '\'' +
                ", businessLicence='" + businessLicence + '\'' +
                ", creditCode='" + creditCode + '\'' +
                ", companyName='" + companyName + '\'' +
                ", applyTime=" + applyTime +
                ", verifyCode='" + verifyCode + '\'' +
                ", inviteCode='" + inviteCode + '\'' +
                ", inviteCodeType='" + inviteCodeType + '\'' +
                '}';
    }
}
